﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AuctionSite.App_Code.Modelos;
using AuctionSite.App_Code.DAL;


namespace AuctionSite.App_Code.BLL
{
    public class UsuarioBLL
    {


        #region Métodos

        public bool Incluir(Usuario usuario)
        {
            String telefone;
            String celular;
            String cpf;

            #region Mascara Telefone
            if (usuario.Usu_tel.Length > 0)
            {
                telefone = usuario.Usu_tel.ToString();
                telefone = telefone.Remove(0, 1);
                telefone = telefone.Remove(2, 2);
                telefone = telefone.Remove(6, 1);
            }
            else
                telefone = string.Empty;
            #endregion

            #region Mascara celular
            if (usuario.Usu_cel.Length > 0)
            {
                celular = usuario.Usu_cel.ToString();
                celular = celular.Remove(0, 1);
                celular = celular.Remove(2, 2);
                celular = celular.Remove(6, 1);
            }
            else
                celular = string.Empty;
            #endregion

            #region Mascara CPF
            if (usuario.Usu_cpf.Length > 0)
            {
                cpf = usuario.Usu_cpf.ToString();
                cpf = cpf.Remove(3, 1);
                cpf = cpf.Remove(6, 1);
                cpf = cpf.Remove(9, 1);
            }
            else
                cpf = null;
            #endregion

            #region Validação "Campos Em branco"
            if (usuario.Usu_nome.Trim().Length == 0)
            {
                throw new Exception("O nome é obrigatório");
            }

            if (usuario.Usu_apelido.Trim().Length == 0)
            {
                throw new Exception("O Apelido é obrigatório");
            }

            if (usuario.Usu_endereco.Trim().Length == 0)
            {
                throw new Exception("O Endereço é obrigatório");
            }
            if (usuario.Usu_cpf.Trim().Length == 0)
            {
                throw new Exception("O CPF é obrigatório");
            }
            if (usuario.Usu_email.Trim().Length == 0)
            {
                throw new Exception("O Email é obrigatório");
            }
            if (usuario.Usu_senha.Trim().Length == 0)
            {
                throw new Exception("A Senha é obrigatório");
            }
            #endregion

            #region cria usuario Com dados do FORM e Sem as máscaras
            Usuario u = new Usuario(
                usuario.Usu_nome,
                usuario.Usu_apelido,
                telefone,
                celular,
                usuario.Usu_endereco,
                cpf,
                usuario.Usu_email,
                usuario.Usu_senha, 
                usuario.Usu_active,
                usuario.Usu_data_cadastro);
            #endregion

            UsuarioDAL dal = new UsuarioDAL();
            dal.Incluir(u);


            return true;

        }

        #endregion


        #region construtor
        public UsuarioBLL()
        {

        }
        #endregion

    }
}
